#include <iostream>
#include "bignumber.h"
using namespace std;

void funcTestBigNumber() {
    {
        const long long value1{ 9'223'372'036'854'775'807LL };
        cout << "long long value: " << value1
            << "\nvalue - 1 = " << value1 - 1
            << "\nvalue + 1 = " << value1 + 1;

        const BigNumber value2{ value1 };
        cout << "\nBigNumber value: " << value2
            << "\nvalue - 1 = " << value2 - 1
            << "\nvalue + 1 = " << value2 + 1;
    }
    {
        long long value3{ 1000'000'000 };
        cout << "\nlong long value3: " << value3;

        int counter{ 2 };
        while (counter < 5) {
            value3 *= 1000'000'000;
            cout << "\nvalue3.power(" << counter << "): " << value3;
            ++counter;
        }
    }
    {
        BigNumber value4{ 1000'000'000 };
        cout << "\n\nBigNumber value4: " << value4 << "\n";

        int counter{ 2 };
        while (counter < 5) {
            cout << "\nvalue4.power(" << counter << "): " << value4.pow(counter) << "\n";
            ++counter;
        }
    }
}

int main() {
    funcTestBigNumber();
    return 0;
}